﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace QuanLyHocPhi.BLL
{
    partial class Registry
    {
        /// <summary>
        /// Đường dẫn lưu cấu hình trong Registry
        /// </summary>
        public static string Path
        {
            get
            {
                return string.Format(@"HKEY_CURRENT_USER\Software\{0}\{1}",
                    System.Windows.Forms.Application.ProductName,
                    System.Windows.Forms.Application.ProductVersion);
            }
        }

        public const string Key_TenDangNhap = "TenDangNhap";
        public const string Key_VaiTro = "VaiTro";
        public const string Key_NamHoc = "NamHoc";
        public const string Key_HocKy = "HocKy";
        public const string Key_HocPhi_SoPhieu = "HocPhi_SoPhieu";
        public const string Key_HocPhi_QuyenSo = "HocPhi_QuyenSo";
        public const string Key_LePhi_SoPhieu = "LePhi_SoPhieu";
        public const string Key_LePhi_QuyenSo = "LePhi_QuyenSo";

        /// <summary>
        /// Ghi giá trị vào Registry
        /// </summary>
        /// <param name="name">Tên của giá trị cần ghi</param>
        /// <param name="value">Giá trị cần ghi</param>
        public static void SetValue(string name, object value)
        {
            try
            {
                Microsoft.Win32.Registry.SetValue(Registry.Path, name, value);
            }
            catch
            { }
        }

        /// <summary>
        /// Đọc giá trị từ Registry
        /// </summary>
        /// <param name="name">Tên của giá trị cần đọc</param>
        /// <returns></returns>
        public static object GetValue(string name)
        {
            try
            {
                return Microsoft.Win32.Registry.GetValue(Registry.Path, name, null);
            }
            catch
            {
                return null;
            }
        }

        /// <summary>
        /// Đọc giá trị từ Registry (trả về chuỗi)
        /// </summary>
        /// <param name="name">Tên của giá trị cần đọc</param>
        /// <returns></returns>
        public static string GetStringValue(string name)
        {
            try
            {
                return Microsoft.Win32.Registry.GetValue(Registry.Path, name, "").ToString();
            }
            catch
            {
                return "";
            }
        }
    }
}
